<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <meta name="Author" contect="http://www.webqin.net">
    <title>尚好房</title>
    <link rel="shortcut icon" href="./static/images/favicon.ico"/>
    <link type="text/css" href="./static/css/css.css" rel="stylesheet"/>
    <script type="text/javascript" src="./static/js/jquery.js"></script>
    <script type="text/javascript" src="./static/js/js.js"></script>
    <script src="./static/js/vue.js"></script>
    <script src="./static/js/axios.js"></script>
    <script type="text/javascript">
        $(function () {
            //导航定位
            $(".nav li:eq(1)").addClass("navCur");
        })
    </script>
</head>

<body>
<div id="list">
    <div class="header">
        <div class="width1190">
            <div class="fl">您好，欢迎来到尚好房！</div>
            <div class="fr" v-if="userInfo.nickName == ''">
                <a href="login.html">登录</a> |
                <a href="register.html">注册</a> |
                <a href="javascript:;">加入收藏</a> |
                <a href="javascript:;">设为首页</a>
            </div>
            <div class="fr" v-else>
                <a href="javascript:;">欢迎 {{ userInfo.nickName }}</a> |
                <a href="javascript:;" @click="logout()">退出</a> |
                <a href="follow.html">我的关注</a> |
                <a href="javascript:;">加入收藏</a> |
                <a href="javascript:;">设为首页</a>
            </div>
            <div class="clears"></div>
        </div><!--width1190/-->
    </div>
    <div class="list-nav">
        <div class="width1190">
            <div class="list"><h3>房源分类</h3></div><!--list/-->
            <ul class="nav">
                <li><a href="index.html">首页</a></li>
                <li><a href="about.html">关于我们</a></li>
                <li><a href="contact.html">联系我们</a></li>
                <div class="clears"></div>
            </ul><!--nav/-->
            <div class="clears"></div>
        </div><!--width1190/-->
    </div><!--list-nav/-->
    <div class="banner" style="background:url(./static/images/ban.jpg) center center no-repeat;"></div>

    <div class="content">
        <div class="width1190">
            <form action="#" method="get" class="pro-search">
                <table>
                    <tr>
                        <th>房源区域：</th>
                        <td>
                            <div style="line-height: 30px;">
                                <a href="javascript:;" @click="searchArea('')"
                                   :class="houseQueryBo.areaId=='' ? 'pro-cur' : ''">不限</a>
                                <a href="javascript:;" @click="searchArea(item.id)"
                                   :class="item.id==houseQueryBo.areaId ? 'pro-cur' : ''" v-for="item in areaList"
                                   :key="item.id">{{ item.name }}</a>
                            </div>
                            <!--新增区域-->
                            <div style="font-size: 12px;border-top:#ccc 1px dotted;">
                                <a href="javascript:;" @click="searchPlate(item.id)"
                                   :class="item.id==houseQueryBo.plateId ? 'pro-cur' : ''" v-for="item in plateList"
                                   :key="item.id">{{ item.name }}</a>
                            </div>
                        </td>
                    </tr>
                    <tr>
                        <th>户型：</th>
                        <td>
                            <a href="javascript:;" @click="searchHouseType('')"
                               :class="houseQueryBo.houseTypeId=='' ? 'pro-cur' : ''">不限</a>
                            <a href="javascript:;" @click="searchHouseType(item.id)"
                               :class="item.id==houseQueryBo.houseTypeId ? 'pro-cur' : ''" v-for="item in houseTypeList"
                               :key="item.id">{{ item.name }}</a>
                        </td>
                    </tr>
                    <tr>
                        <th>楼层：</th>
                        <td>
                            <a href="javascript:;" @click="searchFloor('')"
                               :class="houseQueryBo.floorId=='' ? 'pro-cur' : ''">不限</a>
                            <a href="javascript:;" @click="searchFloor(item.id)"
                               :class="item.id==houseQueryBo.floorId ? 'pro-cur' : ''" v-for="item in floorList"
                               :key="item.id">{{ item.name }}</a>
                        </td>
                    </tr>
                    <tr>
                        <th>建筑结构：</th>
                        <td>
                            <a href="javascript:;" @click="searchBuildStructure('')"
                               :class="houseQueryBo.buildStructureId=='' ? 'pro-cur' : ''">不限</a>
                            <a href="javascript:;" @click="searchBuildStructure(item.id)"
                               :class="item.id==houseQueryBo.buildStructureId ? 'pro-cur' : ''"
                               v-for="item in buildStructureList" :key="item.id">{{ item.name }}</a>
                        </td>
                    </tr>
                    <tr>
                        <th>朝向：</th>
                        <td>
                            <a href="javascript:;" @click="searchDirection('')"
                               :class="houseQueryBo.directionId=='' ? 'pro-cur' : ''">不限</a>
                            <a href="javascript:;" @click="searchDirection(item.id)"
                               :class="item.id==houseQueryBo.directionId ? 'pro-cur' : ''" v-for="item in directionList"
                               :key="item.id">{{ item.name }}</a>
                        </td>
                    </tr>
                    <tr>
                        <th>装修情况：</th>
                        <td>
                            <a href="javascript:;" @click="searchDecoration('')"
                               :class="houseQueryBo.decorationId=='' ? 'pro-cur' : ''">不限</a>
                            <a href="javascript:;" @click="searchDecoration(item.id)"
                               :class="item.id==houseQueryBo.decorationId ? 'pro-cur' : ''"
                               v-for="item in decorationList" :key="item.id">{{ item.name }}</a>
                        </td>
                    </tr>
                    <tr>
                        <th>房屋用途：</th>
                        <td>
                            <a href="javascript:;" @click="searchHouseUse('')"
                               :class="houseQueryBo.houseUseId=='' ? 'pro-cur' : ''">不限</a>
                            <a href="javascript:;" @click="searchHouseUse(item.id)"
                               :class="item.id==houseQueryBo.houseUseId ? 'pro-cur' : ''" v-for="item in houseUseList"
                               :key="item.id">{{ item.name }}</a>
                        </td>
                    </tr>
                </table>
                <div class="paixu">
                    <strong>排序：</strong>
                    <a href="javascript:;" @click="sortDefault()"
                       :class="houseQueryBo.defaultSort=='1' ? 'pai-cur' : ''">默认</a>
                    <a href="javascript:;" @click="sortPrice()" :class="houseQueryBo.priceSort=='1' ? 'pai-cur' : ''">价格
                        &or;</a>
                    <a href="javascript:;" @click="sortTime()" :class="houseQueryBo.timeSort=='1' ? 'pai-cur' : ''">最新
                        &or;</a>
                </div>
            </form><!--pro-search/-->
        </div><!--width1190/-->
        <div class="width1190">
            <div class="pro-left">
                <dl v-for="item in page.list" :key="item.id">
                    <dt><a :href="'info.html?id='+item.id"><img :src="item.defaultImageUrl" width="286"
                                                                height="188"/></a></dt>
                    <dd>
                        <h3><a :href="'info.html?id='+item.id">{{ item.name }}</a></h3>
                        <div class="pro-wei">
                            <img src="/static/images/weizhi.png" width="12" height="16"/> <strong class="red">{{
                            item.communityName }}</strong>
                        </div>
                        <div class="pro-fang">{{ item.buildArea }}平 {{ item.houseTypeName}} {{ item.floorName}} {{
                            item.decorationName}}
                        </div>
                        <div class="pra-fa"> 发布时间：{{ item.createTimeString }}</div>
                    </dd>
                    <div class="price">¥<strong>{{ item.totalPrice }}</strong><span class="font12">万元</span></div>
                    <div class="clears"></div>
                </dl>
            </div><!--pro-left/-->
            <div class="pro-right">
                <h2 class="right-title">新上房源</h2>
                <div class="right-pro">
                    <dl>
                        <dt><a href="proinfo.html"><img src="./static/images/fang8.jpg"/></a></dt>
                        <dd>
                            <h3><a href="proinfo.html">中装一室一厅，楼层好，采光足，稀缺房源</a></h3>
                            <div class="pro-fang">一室一厅 38平 南</div>
                            <div class="right-price">90万元</div>
                        </dd>
                    </dl>
                    <dl>
                        <dt><a href="proinfo.html"><img src="./static/images/fang7.jpg"/></a></dt>
                        <dd>
                            <h3><a href="proinfo.html">中装两室，楼层好，采光足，稀缺房源</a></h3>
                            <div class="pro-fang">两室一厅 78平 南</div>
                            <div class="right-price">130万元</div>
                        </dd>
                    </dl>
                    <dl>
                        <dt><a href="proinfo.html"><img src="./static/images/fang6.jpg"/></a></dt>
                        <dd>
                            <h3><a href="proinfo.html">中装三室，楼层好，采光足，稀缺房源</a></h3>
                            <div class="pro-fang">三室一厅 98平 南</div>
                            <div class="right-price">190万元</div>
                        </dd>
                    </dl>
                </div><!--right-pro/-->
            </div><!--pro-right/-->
            <div class="clears"></div>
            <ul class="pages">
                <li>
                    <a href="javascript:;" @click="fetchData(page.prePage)" v-if="page.hasPreviousPage">上一页</a>
                </li>
                <li v-for="item in page.navigatepageNums" :class="item==page.pageNum ? 'page_active' : ''">
                    <a href="javascript:;" @click="fetchData(item)">{{ item }}</a>
                </li>
                <li>
                    <a href="javascript:;" @click="fetchData(page.nextPage)" v-if="page.hasNextPage">下一页</a>
                </li>
            </ul>
        </div><!--width1190/-->
    </div><!--content/-->

    <div class="footer">
        <div class="width1190">
            <div class="fl"><a href="index.html"><strong>尚好房</strong></a><a href="about.html">关于我们</a><a
                    href="contact.html">联系我们</a><a href="follow.html">个人中心</a></div>
            <div class="fr">
                <dl>
                    <dt><img src="./static/images/erweima.png" width="76" height="76"/></dt>
                    <dd>微信扫一扫<br/>房价点评，精彩发布</dd>
                </dl>
                <dl>
                    <dt><img src="./static/images/erweima.png" width="76" height="76"/></dt>
                    <dd>微信扫一扫<br/>房价点评，精彩发布</dd>
                </dl>
                <div class="clears"></div>
            </div>
            <div class="clears"></div>
        </div><!--width1190/-->
    </div><!--footer/-->
    <div class="copy">Copyright@ 2020 尚好房 版权所有 沪ICP备1234567号-0&nbsp;&nbsp;&nbsp;&nbsp;技术支持：XXX</div>
    <div class="bg100"></div>
</div>
<script>
    new Vue({
        el: '#list',

        data: {
            userInfo: {
                nickName: ""
            },
            //区域列表
            areaList: [],
            //板块列表
            plateList: [],
            //房屋类型列表
            houseTypeList: [],
            //房屋楼层列表
            floorList: [],
            //建筑结构列表
            buildStructureList: [],
            //朝向列表
            directionList: [],
            //装修情况列表
            decorationList: [],
            //房屋用途列表
            houseUseList: [],

            //接口返回的分页数据
            page: {
                //当前页的房源列表
                list: [],
                //当前页数
                pageNum: 1,
                //每页数据条数
                pageSize: 2,
                //总页数
                pages: 1,
                //页码
                navigatepageNums: [1, 2, 3, 4],
                //上一页
                prePage: 0,
                //下一页
                nextPage: 0,
                //是否有上一页
                hasPreviousPage: false,
                //是否有下一页
                hasNextPage: false
            },

            //封装查询条件业务数据
            houseQueryBo: {
                areaId: '',
                plateId: '',
                houseTypeId: '',
                floorId: '',
                buildStructureId: '',
                directionId: '',
                decorationId: '',
                houseUseId: '',

                defaultSort: 1,
                priceSort: null,
                timeSort: null,
            },
        },
        //钩子函数
        created() {
            //初始化数据
            this.fetchDictData()
            //默认加载第一页数据
            this.fetchData(1);
            this.loadUserInfo();
        },

        methods: {
            logout() {
                axios({
                    "url": "/userInfo/logout",
                    "method": "GET"
                }).then(response => {
                    sessionStorage.removeItem("userInfo")
                    location.href = "index.html"
                })
            },
            loadUserInfo() {
                var userInfoString = sessionStorage.getItem("userInfo");
                if (userInfoString != null && userInfoString != '') {
                    this.userInfo = JSON.parse(userInfoString)
                }
            },
            fetchDictData() {
                //axios在then的内部不能使用Vue的实例化的this, 因为在内部 this 没有被绑定
                var that = this
                //加载北京的所有区域列表
                axios.get('/dict/findDictListByParentDictCode/beijing').then(function (response) {
                    that.areaList = response.data.data
                });
                //加载房屋类型列表
                axios.get('/dict/findDictListByParentDictCode/houseType').then(function (response) {
                    that.houseTypeList = response.data.data
                });
                //加载楼层列表
                axios.get('/dict/findDictListByParentDictCode/floor').then(function (response) {
                    that.floorList = response.data.data
                });
                //加载建筑结构列表
                axios.get('/dict/findDictListByParentDictCode/buildStructure').then(function (response) {
                    that.buildStructureList = response.data.data
                });
                //加载朝向列表
                axios.get('/dict/findDictListByParentDictCode/direction').then(function (response) {
                    that.directionList = response.data.data
                });
                //加载装修情况列表
                axios.get('/dict/findDictListByParentDictCode/decoration').then(function (response) {
                    that.decorationList = response.data.data
                });
                //加载房屋用途列表
                axios.get('/dict/findDictListByParentDictCode/houseUse').then(function (response) {
                    that.houseUseList = response.data.data
                });
            },

            //搜索加载房源数据
            fetchData(pageNum = 1) {
                this.page.pageNum = pageNum
                //debugger
                if (pageNum < 1) pageNum = 1

                var that = this
                axios.post('/house/list/' + pageNum + '/' + this.page.pageSize, this.houseQueryBo).then(function (response) {
                    that.page = response.data.data
                });
            },
            //按照区域搜索
            searchArea(id) {
                this.houseQueryBo.areaId = id
                this.houseQueryBo.plateId = ''
                this.fetchData(1)

                if (id == '') {
                    this.plateList = []
                    return
                }
                var that = this
                axios.get('/dict/findDictListByParentId/' + id).then(function (response) {
                    that.plateList = response.data.data
                });
            },
            //按照板块搜索
            searchPlate(id) {
                this.houseQueryBo.plateId = id
                this.fetchData(1)
            },
            //按照房屋类型搜索
            searchHouseType(id) {
                this.houseQueryBo.houseTypeId = id
                this.fetchData(1)
            },
            //按照楼层搜索
            searchFloor(id) {
                this.houseQueryBo.floorId = id
                this.fetchData(1)
            },
            //按照建筑结构搜索
            searchBuildStructure(id) {
                this.houseQueryBo.buildStructureId = id
                this.fetchData(1)
            },
            //按照朝向搜索
            searchDirection(id) {
                this.houseQueryBo.directionId = id
                this.fetchData(1)
            },
            //按照装修搜索
            searchDecoration(id) {
                this.houseQueryBo.decorationId = id
                this.fetchData(1)
            },
            //按照房屋用途搜索
            searchHouseUse(id) {
                this.houseQueryBo.houseUseId = id
                this.fetchData(1)
            },

            //默认排序
            sortDefault() {
                this.houseQueryBo.defaultSort = 1
                this.houseQueryBo.priceSort = null
                this.houseQueryBo.timeSort = null
                this.fetchData(1)
            },
            //根据价格排序
            sortPrice() {
                this.houseQueryBo.defaultSort = null
                this.houseQueryBo.priceSort = 1
                this.houseQueryBo.timeSort = null
                this.fetchData(1)
            },
            //根据时间排序
            sortTime() {
                this.houseQueryBo.defaultSort = null
                this.houseQueryBo.priceSort = null
                this.houseQueryBo.timeSort = 1
                this.fetchData(1)
            }
        }
    })
</script>
</body>
</html>